sgdk
|
00001 00010 #ifndef _SYS_H_ 00011 #define _SYS_H_ 00012 00013 00014 #define PROCESS_PALETTE_FADING (1 << 0) 00015 #define PROCESS_BITMAP_TASK (1 << 1) 00016 #define PROCESS_TILECACHE_TASK (1 << 2) 00017 #define PROCESS_SPRITEENGINE_TASK (1 << 3) 00018 00019 00020 // internals V/H timer 00021 extern u32 vtimer; 00022 extern u32 htimer; 00023 00024 00031 extern _voidCallback *busErrorCB; 00038 extern _voidCallback *addressErrorCB; 00045 extern _voidCallback *illegalInstCB; 00052 extern _voidCallback *zeroDivideCB; 00059 extern _voidCallback *chkInstCB; 00066 extern _voidCallback *trapvInstCB; 00073 extern _voidCallback *privilegeViolationCB; 00080 extern _voidCallback *traceCB; 00087 extern _voidCallback *line1x1xCB; 00094 extern _voidCallback *errorExceptionCB; 00101 extern _voidCallback *intCB; 00111 extern _voidCallback *internalVIntCB; 00121 extern _voidCallback *internalHIntCB; 00131 extern _voidCallback *internalExtIntCB; 00132 00133 00141 void SYS_assertReset(); 00148 void SYS_reset(); 00149 00156 u16 SYS_getInterruptMaskLevel(); 00175 void SYS_setInterruptMaskLevel(u16 value); 00176 00195 u16 SYS_getAndSetInterruptMaskLevel(u16 value); 00196 00208 void SYS_disableInts(); 00218 void SYS_enableInts(); 00219 00231 void SYS_setVIntCallback(_voidCallback *CB); 00243 void SYS_setHIntCallback(_voidCallback *CB); 00254 void SYS_setExtIntCallback(_voidCallback *CB); 00255 00262 u16 SYS_isInVIntCallback(); 00269 u16 SYS_isInHIntCallback(); 00276 u16 SYS_isInExtIntCallback(); 00283 u16 SYS_isInInterrupt(); 00284 00292 void SYS_die(char *err); 00293 00294 00295 #endif // _SYS_H_